package com.ruoyi.personnel.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考勤记录对象 erp_attendance_record
 * 
 * @author ruoyi
 * @date 2025-07-26
 */
public class ErpAttendanceRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 考勤记录ID */
    private Long id;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private Long employeeNameId;
    private String employeeName;

    /** 打卡的具体时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打卡的具体时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date punchTime;

    /** 打卡的位置 */
    @Excel(name = "打卡的位置")
    private String locationResult;

    /**  打卡结果,0成功或1失败 */
    @Excel(name = " 打卡结果,0成功或1失败")
    private Long punchResult;

    /**  考勤类型,只有'0上班'或'1下班'两种值 */
    @Excel(name = " 考勤类型,只有'0上班'或'1下班'两种值")
    private Long attendanceType;

    /** 工作日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workday;

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setEmployeeNameId(Long employeeNameId) 
    {
        this.employeeNameId = employeeNameId;
    }

    public Long getEmployeeNameId() 
    {
        return employeeNameId;
    }

    public void setPunchTime(Date punchTime) 
    {
        this.punchTime = punchTime;
    }

    public Date getPunchTime() 
    {
        return punchTime;
    }

    public void setLocationResult(String locationResult) 
    {
        this.locationResult = locationResult;
    }

    public String getLocationResult() 
    {
        return locationResult;
    }

    public void setPunchResult(Long punchResult) 
    {
        this.punchResult = punchResult;
    }

    public Long getPunchResult() 
    {
        return punchResult;
    }

    public void setAttendanceType(Long attendanceType) 
    {
        this.attendanceType = attendanceType;
    }

    public Long getAttendanceType() 
    {
        return attendanceType;
    }

    public void setWorkday(Date workday) 
    {
        this.workday = workday;
    }

    public Date getWorkday() 
    {
        return workday;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("employeeNameId", getEmployeeNameId())
            .append("punchTime", getPunchTime())
            .append("locationResult", getLocationResult())
            .append("punchResult", getPunchResult())
            .append("attendanceType", getAttendanceType())
            .append("workday", getWorkday())
            .toString();
    }
}
